Save/load registers
banked registers, maybe?
Sort Subroutine Link Register
Mode framework
Status Register -- What mode are we in?  Are we handling an interupt, or 'normal' mode?
Stack Pointer

Define exceptions (includes interupt requests)
Exception handling
--> Vector table
--> Prioritization
--> Logic to handle whether to restore PC or PC minus 1, depending on situation
-----> Interupt current instruction, allow to complete?
-----> If we interupt current instruction, do we attempt to pick up where we left off, or just rerun instrucion?
Redifine modes to account for changes

Define interupts
Interupt stack

Do we want the complexity of nested interupts?  I don't think so; non-nested would be sufficient for a game.

non-nested interupt:
--> Interupt comes in
--> Disable interupts
--> Save current cpu state and register file
--> inturupt handler
--> execute apropriate code
--> restore state
--> reenable interupts
--> Proceed with execution

